Published 2008-05-11 00:00:00

I've started looking at forking ExtJS, after some considerable thought, I'm pretty close to the concluding that forking ExtJS is really option left, to retain the investment I've already made in it..

So, as I have a Zip file of 1.1.1 and it explicitly says that the Javascript code is Licensed under LGPL, (not ifs/ no but's) - I'm slowly putting the code into my subversion repo under www.akkbkhome.com/svn/extjs1 (*I'm looking at extjs1.1.1 as I have been using it and tend to prefer it, but there is nothing in the discusion below that precludes anyone helping/leadingwith the last extjs2 version that was released)

Now if this actually becomes a full fork (most forks fail BTW), It will need a bit of work, so If anyone is interested in helping out. I've no idea where this could go. But this fork ain't changing the license no-more...

The plan

I think there's quite a few things to do here... so Ideas or contributions.. -- feel free to email me, or just comment on this post. - At worst, it could form the brainstorming for anyone else actually doing this. (If you want to comment on if/should this be done - do it on my previous post, otherwise I will delete the comment)

The Code

  • Tidy up Ext Js's source - see if it can be stored in one file per class, and have a simple classname->filename mapping... (eg. Ext.Dom in Ext/Dom.js) ** started..
    • Sort out the CSS
    • If Jack ever released any old CSS/images under a open licence (ext-yui source?) see if that can be used.?
    • or Go through the classes and see what their requirements are for CSS
    • Probably in batches - write a short document listing the required classes needed by the batch, enabling someone to contribute a CSS file that works.
    • Posibly create enough CSS to make enough of it useable (probably with no images)
  • Document image requirements (see above), then see if other open projects already have images that can be used? - otherwise see if someone want's to contribute themes..
  • Break up Source into managable packages - Distribute ownership! - GIT or multiple SVN repos??

The Project

  • Build infrastructure
    • Create a command line tool that can compress then merge all the required components (and allows end users to do this)
    • Allows source to be taken from multiple sources (so you can create builds with extensions / or without stuff you don't need)
  • Forums
    • Set up a mailing list! (and archived, with a search feature!) - Anyone know a good hosted one available? - or should I just go off and set the infrastructure here..
    • No more 'premium' ... users! - equal, like open source is supposed to be!
  • Manual
    • Work out how to build a manual from the source!-- While Ext's manual is not bad, take the opportunitythis time do it right, and have a bug reporting / user comments on it....
  • A name??/ - May need some thought...

The reasoning.

I have to admitafter some reflection to being pretty pissed at this change, ExtJs was useful in a number of ways, other than being a reasonably well written, the forums where search-able, so you occasionally found fixes to issues that you where having. The doc's where not to bad. etc.

But basically I've committed 1000's of hours of time to learning, and writing huge codebases that depend on ExtJS, under the basic premise that it was availably for Free, with the only Caveat that If I modified ExtJS, then I would have to give back those changes. "Quid Quo-pro" as they say.

The Change to GPL has altered that equation in such a radical way that If this was not a 'software' product, and was something physical. you would be down at the consumer council, and filing a class action against Jack for things like Breach of trust, financial gain by deception etc.And filing claims for the loss of your time, and the cost of replacing his library..

I have seen postings that appear to claim Jack plan's to 'send notice' to people using a fork, but as far as I can see, he released the Javascript code as LGPL, and from every reading I've seen of that, I have the absolute right to distribute the Javascript code, along with any modifications. - This is the purpose of the license!!! - so by claiming otherwise he is not honoring his own license, not a good omen for the future of ExtJs even under GPL!

I'm floating this, as a plan... - shout if you are interested/ have some ideas..?? - (or you can find real technical flaws - not FUD flaws please).

Mentioned By:
google.com : extjs (222 referals)
extjs.com : Talking Forking - Ext JS Forums (117 referals)
www.planet-php.net : Planet PHP (111 referals)
google.com : php extjs (53 referals)
google.com : december (37 referals)
pooteeweet.org : Poo-tee-weet - blog (32 referals)
feedraider.com : Item : ExtJs - talking forking - Alan Knowles (23 referals)
google.com : extjs php (22 referals)
google.com : extjs licence (17 referals)
google.com : 166289 (16 referals)
google.com : extjs 1.1 license (10 referals)
google.com : extjs 2.0.2 (10 referals)
planet.dsource.org : Planet D at Dsource (9 referals)
google.com : extjs php tutorial (9 referals)
google.com : greasemonkey extjs (9 referals)
google.com : extjs 2.0.2 license (7 referals)
www.mybloglog.com : Topic: ExtJS - MyBlogLog (6 referals)
google.com : 166325 (6 referals)
google.com : php forking (6 referals)
computer-internet.marc8.com : ExtJs - talking forking - Alan Knowles | Computer & Internet (6 referals)

Comments

Yes
The sentence "Not sure if this post will last here" you posted in ExtJS forum is right. They 'sometimes' delete the articles they don't like in their forum. This is not a FUD.

I found a evidence in http://en.wikipedia.org/wiki/Talk:Ext_%28javascript_library%29

They might delete it also, you can see history to know what happened.
#0 - guest ( Link) on 2008-05-10 23:24:25 Delete Comment
which version?
Does version 1.1.1 have any advantages/shortcomings over the last non-GPL'ed version, which is 2.0.2 (IMO)?
#1 - Christian ( Link) on 2008-05-10 23:27:33 Delete Comment
Coordination?
A number of other developers have expressed interest in forking extjs. Are you planning on attempting to coordinate your efforts with them?
#2 - Edward Z. Yang ( Link) on 2008-05-11 00:04:41 Delete Comment
Extjs 1 is old...
Sticking to extjs 1.1.1...
Have you *really* tried extjs 2.0 ?

Furthermore you can do what you want with extjs 2.0, it's still LGPL.

A dual license is better, IMHO, for such a good project. But anyway, you've got the right to fork :)
#3 - Tof ( Link) on 2008-05-11 00:08:36 Delete Comment
Re: which version? and Extjs 1 is old...
The licensing status of 2.0.x up to 2.0.2 is somewhat murky, because according Jack you're only allowed to use LGPL "under certain conditions." I think it's total hogwash, especially since once you're permitted to use LGPL, you're also permitted to redistribute to anyone else as LGPL, no ifs ands or buts. If Jack had modified the license so that this wasn't the case, it wouldn't have been LGPL anymore.

However, as I said, it's still under contention, and there's quite a bit of misinformation flying around, so I'm pretty sure Alan's taking a quite sensible approach of staying safe and going with the unequivocally LGPL version.
#4 - Edward Z. Yang ( Link) on 2008-05-11 02:17:23 Delete Comment
On the licensing change...
Forgive me if I am misunderstanding something, but I really do fail to see how the licensing change has any major effect on the way it is used in projects.

Reading the GNU GPL v3 _very_ carefully indicates that any software that is distributed under it must be freely available if you distribute it. ExtJS is, for all intents and purposes, standalone, however. It is not in any way bound to the server-side processing code that you use, because it _only_ runs on the client. Therefore, the only issue you would have is to license your other client-side code under the GPLv3. Which, since JavaScript flies around the Internet in plain-text anyway, and people can always locally modify it or add to it with something like GreaseMonkey, I don't see the harm in it.

You cannot link JavaScript to PHP or any other server-side language, though you can generate JavaScript from your server-side code. However, JavaScript in a Web application is really just a sub-application, that runs on the client side. It's like saying "Here is a GUI toolkit that you can use in your client written in C under the GPL," but being afraid that using that toolkit will require you to open-source the server-side code, too. The only thing binding them together are interfaces, and that's not even remotely close to linking.
#5 - Michael B. Trausch ( Link) on 2008-05-11 03:25:34 Delete Comment
GPL3 / Ext v1.1.1
@guest
Not sure about the validity of that anyway - I think it's pretty irrelivant anyway. (distraction)

@michael
Unfortunately GPL3 does capture the frontend UI code - which is critical part of the application. (it's often compressed, comments striped/variables shortened, for distribution.) but it's also copyrighted - see Gmail js source!

Often this component of the application can be 2-3x larger in code terms than the back end application. And forms a core part of a any proprietary application. - Letting that become GPL, is not an option (or was it ever intended to be under the LGPL licence).

@tof
Yes, I've tried v2.* - Most of my major projects are in v1.1.1, so I'm a bit more committed to that at present. I have used v2.* on 2 projects now, and found it slightly unpredictable at times (which has kept me from migrating v1.* projects to it)


@christian
v2.* has more widget's a slightly different object model, but generally is pretty similar to v1.1.1

@Edward
I've seen sightings of #roojs on freenode, so I'm just standing up at present saying let's push this forward. I'm mitigating my risk at present, so let's see where this goes..
#6 - Alan Knowles ( Link) on 2008-05-11 11:53:33 Delete Comment
ff3 ie7
I agree that there is need for this and as Alan said v2.x license is unfortunately murky. To me this is the worst part of the license change. It is a shame they chose to prevent people from maintaining the older version.

From my perspective the most important thing is to maintain the v1.1.1 is to ensure it works with ie8 and ff3. we probably have to do this in our existing code anyway so pooling the work would be a good idea.
#7 - matt ozer ( Link) on 2008-05-11 16:33:13 Delete Comment
Getting paid vs. closed-source
We also use ExtJS at work (2.0.x) and we've been purchasing commercial support contracts since the beginning. I'm fine with paying to support an open-source project, but I'm much less fine with buying closed-source software (even at the same price or less). I'm supposed to have a conference call with Ext licensing folks to talk about our own licensing interests & desire to support the company but use open-source software. I think this is a very unfortunate decision for them, and looks quite likely to result in one or more forks of the project.

We're definitely committed to the 2.x branch, but would be interested in supporting a port of that branch. We also recognize (and appreciate) the work that Jack Slockum has put into this project. There's nothing wrong with getting paid for your work ... I think that the approach here, though, is a little flawed and has rubbed a LOT of people the wrong way.

It's also a little unclear to me how they can relicense contributions (other widgets, bug fixes, etc.) from the community without getting any approval or having initial copyright sign-over.... Interesting, to say the least :)

Hans
#8 - Hans ( Link) on 2008-05-12 20:43:15 Delete Comment
ExtJS team................
The man at ip 71.236.227.10 always deletes the text at Wikipadia talk. I don't know he is ExtJS team's guy or not, He obviously don't want anyone else to see some bad opinion about ExtJS team, even that is "TRUTH". Everyone can see http://en.wikipedia.org/w/index.php?title=Talk:Ext_%28javascript_library%29&action=history to know what he did.

I am sorry to post it here, that is not related to forking. But indeed, ExtJS team did something bad and fear we to know that.
#9 - guest ( Link) on 2008-05-26 19:33:04 Delete Comment
Offtopic..
While I'm tempted to delete the above post - It does serve a purpose, don't get hung up on activities of others - focus on what you can contribute..
#10 - Alan Knowles ( Link) on 2008-05-27 07:56:09 Delete Comment

Add Your Comment